8) ESP32-DevKitC-32D or 32E の、お勉強

ESP32-DevKitC-32D or 32E

(1)ESP32-DevKitC-32Dの、Arduino IDEへのインストール

   ESP32-DevKitC-32Dの、Arduino IDEへのインストールは、Arduino IDEの「ファイル→環境設定→追加のボードマネージャのURL」と進み、https://dl.espressif.com/dl/package_esp32_index.jsonを記入(記述・追加)し、OKを押します。

   その後、Arduino IDEの「ツール→ボード→ボードマネージャ」と進み、ボードマネージャを開きます。検索窓にESP32を入力してエンターで、「esp32 by Esressif Systems」が表示されますので、これをインストールします。インストールが終わったら以下のようにボードを選択します。私の場合は「ESP32 Dev Module」を選択しました。次はボード設定へ続きます。

(2)ESP32-DevKitC-32Dの、ボード設定

   ボード設定ですが、Arduino IDEへボード追加した直後の設定のままで良いようです。他のサイトを見ても同じようなことが載せてありました。以下が、ボード追加直後の設定内容です。シリアルポートは使用環境によって異なります。

ESP32-DevKitC-32D ボード設定

(3)ESP32-DevKitC-32Dでの、Lチカ

   以下は、sketchの記述です。

ESP32-DevKitC-32DによるL-チカsketch

   以下のようにモバイルバッテリーで電源供給しました。

モバイルバッテリーによる電源供給

(4)ESP32-DevKitC-32Dに接続したLEDを、スマートフォンでON/OFFする

   まずは、WIFIへ接続します。

ESP32-DevKitC-32D を、リセット!!(ENキーを押下)

   WIFI接続後、スマートフォンでESP32-DevKitC-32Dに割り当てられたローカルIPアドレスへ接続します。

スマートフォンでのローカルIPアドレスへの接続

スマートフォンの、ON/OFFを叩くと、ESP32-DevKitC-32Dに接続したLEDが、点灯・消灯します。

実際のセットの様子

ESP32-DevKitC-32Dは、モバイルバッテリーのみに接続しています。電源供給のみです。スマートフォンはESP32-DevKitC-32DのローカルIPアドレスに接続しています。この状態で、スマートフォンのON/OFFを叩くと、LEDが点灯・消灯します。以下、動画になります。

(5)ESP32-DevKitC-32D 2台でBlueooth接続して、Wireを介さず、LEDをON/OFFする

ESP32-master-slave-RESET
ESP32 左側slave (受信:LED):右側master(送信:Switch)RESET動作確認前

右側のボードがmasterで、左側のボードがslaveになります。master側の押しボタンSWを押すと、slave側のLEDが点灯します。また、それぞれのボードには、RESET動作の確認用にLEDが付けてあります。なので、master側は、押しボタンSWとLEDが、slave側はLEDが2個付いてます。master側の電源はPCからのUSB接続で、Arduino IDEのシリアルモニタで状態を見てます。一方、slave側はモバイルバッテリーをUSBコネクタに接続して、単体で動作させています。

slave側モバイルバッテリー接続
slave側 モバイルバッテリー接続

master、slaveともに、RESET時にはBuiltIN LEDを付けてますので、それらが点滅し、RESETが行われていることが確認できます。以下、RESET動作の動画となります。

以下は、master側をRESETした時の、シリアルモニタの表示です。

シリアルモニタで展開しきれてなかったので、画像を追加してます。上の続きは、「Disconnected Succesfully!」以降を見てください。

以下は、master側押しボタンSWを押した時の、slave側のLEDの点灯状態を撮影してます。

 ESP32-master-slave-LED-on-off
master側 押しボタンSW押下と、slave側 LED点灯!!

以下、この動画となります。

以下シリアルモニタの画像は、RESET後、LEDが点灯したことを伝えています。「LED is ON.」がそれに当たります。

今回は以上になります。今現在、次の目標を立てて行動中です。(^^;

(6)ESP32-DevKitC-32D 2台でBlueooth接続して、Wireを介さず、Joystickを使ってLEDをON/OFFする。(段々暗くなる、段々明るくなる)

ESP32-master-slave_JoyStick-ver

今回はJoystickを使用して、LEDの光量を変化させます。master側にJoystick、slave側にLEDを接続してます。2個のLEDを制御してます。

以下の画像はmaster側の電源供給の様子です。PCからUSBケーブルで電源を供給し、また、Arduino IDEでシリアルモニタにて動作状況を見てます。

ESP32-master_JoyStick_USBpower

以下の画像はslave側の電源供給の様子です。モバイルバッテリーとボードをUSBケーブルで接続してます。

ESP32-slave_battery_USBpower

以下の画像2枚は、master側をRESETした時のシリアルモニタの様子です。1枚の画像に入りきらないので、2枚にしてます。データの重複部分が殆どになります。2枚目の「・・・:ESP_SPP_OPEN_EVT」が最終行になります。

ESP32-master_RESET-1
ESP32-master_RESET-2

以下動画が今回のJoystickを使用した、BlueTooth接続での受信側LEDの調光の様子です。

今回は以上になります。次は何をしようかな。(^^;

(7)ESP32-DevKitC-32D 2台でBlueooth接続して、Wireを介さず、master側、slave側双方にスイッチ(SW)と、LEDを設け双方のスイッチを押下して、master側、slave側のLEDをON/OFFする。

master側-PC(黒色ケーブル)、slave側モバイルバッテリー(薄茶色ケーブル)

今回も、お題目の通りやっていこうと思ってますが、その前にmaster、slaveのRESETについて確認したことがありますのでお伝えします。

先ず、slave側のRESETですが、プログラムが正常に入っていれば、USB電源等を接続すれば、今回に限り、ソフトが走ると、SETUPの終わりにあるSETUP完了を知らせるLEDの点滅プログラムが走ります。ので、正常に動いていると判断できます。(それでも、プログラムを書き込んだ直後はボードのRESETが必要ですが。また、電源の抜き差しでも良いと思いますが。)なので、slave側ボードについては単独でRESETをすることで。RESET完了となります。しかし、今回はmaster側ボードと言う、通信の相手がいますのでslaveだけでは何もできません。次に、master側のRESETですが、こちらは、slave側の電源が入っていて、RESETが完了していないとRESETができません。(slave側は電源投入と、ほぼ同時にRESET完了となります:Power On Reset)今回は、先ず、これら動画をUPしました。

以上の動画を見てもらえば判ると思いますが、上2つはmaster側電源のON・OFFに関係なく、slave側がRESETできている動画で、3つ目はslave側電源がONの時にmaster側がRESETできている動画です。一番下はslave側電源がOFFの時にmaster側がRESETできない動画です。以上が今回RESETに関して検証した結果でした。

それでは、master、slaveともに正常にRESETできたらどのような動作になるか見てみましょう。以下画像は両者RESET後、master側SWをONとした時のslave側LEDの状態を撮影しています。画像の通りslave側LEDが白く光ってます。

master側SWーON、slave側LEDー点灯

以下画像は両者RESET後、slave側SWをONとした時のmaster側LEDの状態を撮影しています。画像の通りmaster側LEDが白く光ってます。

slave側SWーON、master側LEDー点灯

以上の通り、双方向でのデータの送受信は無事完了しました。以下にこれらの動画を張っておきますのでご確認ください。

今回の課題は以上です。次は何をしようか思案中です。(^^; またね!!

(8)ESP32-DevKitC-32D 2台でESP-NOWという方法でWifi接続?して、master側からslave側のmac-addressを確認、また、slave側からmaster側のmac-addressを確認する。

左側-slave、右側-master
master側で、slave側mac-address受信
master側で、slave側mac-address受信 (拡大)

因みに、slave側mac-addressの最後は、「A0」になります。(間違えて消し込んでしまいました) 

slave側で、master側mac-address受信
slave側で、master側mac-address受信 (拡大)

master側mac-addressの最後は、「30」になります。

今度は、master側の電源を切って、slave側を受信状態とします。

master power-off, slave-Recv

すると、以下の通りRecv系の表示が出なくなりました。

master power-off, slave-Recv(NO-DATA)

次は、masterとslaveを入れ替えてみます。(slave側の電源を切って、master側を受信状態)

slave power-off, master-Recv

やはり、以下の通りRecv系の表示が出なくなりました。

slave power-off, master-Recv(NO-DATA)

ソフトは同じところをグルグル回っていますが、Recvが返ってこないので、表示されていませんでした

以上で、取り敢えずお互いのボード間でmac-addressの送受信を確認できました。色々と試すのはこれからです。一先ずここまで。

(9)ESP32-DevKitC-32D 1台でmac-address(slave側)を確認する。

slave側 mac-address (詳細)
slave側 mac-address (詳細:全アドレス 7個)

mac-addressの種類が7個ありました。

1)Default Mac Address (工場出荷時の初期設定のMac Address)

2)EFuse Mac Address ( 電子フューズ溶断のMac Address 一度溶断すると二度とソフトの書き換えができない)

3)System Mac Address (システム制御用Mac Address)

4)WiFi Station Mac Address (WiFi ステーションモードのMac Address)

5)WiFi SoftAP Mac Address (ソフトウェア アクセス ポイント モードのMac Address)   4)に対して +1加算

6)Blue Tooth Mac Address (ブルートゥース用Mac Address)               5)に対して +1加算

7)Ethernet Mac Address (イーサーネット用Mac Address)                6)に対して +1加算

上記1)から4)までは同じMac Addressです。それ以降はAddressが、+1ずつ加算されています。

初心者の私にとっては、難解な部分が多くて苦戦の連続~~!!(^^;

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA